package com.happypets.services;

import java.util.List;
import java.util.Map;

import com.happypets.model.PetBean;

/**
 * 关于宠物的
 * 2015.8.26
 * @author FENG
 *
 */
public interface PetService {
	
	/**
	 * 是否上架
	 * @param id
	 * @return boolean
	 */
	public boolean isState(String id);
	
	/**
	 * 是否上架
	 * @param pet
	 * @return
	 */
	public boolean isState(PetBean pet);
	
	/**
	 * 传入id
	 * 是否打折
	 *  @param id
	 *  @return boolean
	 */
	public boolean isMark(String id);
	
	/**
	 * 传入id
	 * 是否打折
	 *  @param id
	 *  @return boolean
	 */
	public boolean isMark(PetBean pet);
	
	/**
	 * 是否售出
	 * @param id
	 * @return boolean
	 */
	public boolean isSaled(String id);
	
	/**
	 * 是否售出
	 * @param id
	 * @return boolean
	 */
	public boolean isSaled(PetBean pet);
	
	/**
	 * 查询获得规定大类里所有宠物，很危险，请勿使用
	 * @param bigCategoey
	 * @return 所有宠物
	 */
	public List<PetBean> bigCategoryPets(String bigCategoey);
	
	/**
	 * 获取大类中所有小类
	 * @param bigCategory
	 * @return
	 */
	public List<String> getSmallCategories(String bigCategory);
	
	/**
	 * 查询获得规定大类里所有宠物，指定条数
	 * @param bigCategoey
	 * @param size
	 * @return 所有宠物
	 */
	public List<PetBean> bigCategoryPets(String bigCategoey, int size);
	
	/**
	 * 规定小类中所有，很危险
	 * @param smallCategory
	 * @return
	 */
	public List<PetBean> smallCategoey(String smallCategory);
	
	/**
	 * 规定小类中所有 规定条数
	 * @param smallCategory
	 * @param size
	 * @return
	 */
	public List<PetBean> smallCategoey(String smallCategory, int size);
	
	/**
	 * 删除宠物
	 * @param id
	 * @return 是否成功
	 */
	public int deletePet(String id);
	
	/**
	 * 删除宠物
	 * @param pet
	 * @return 是否成功
	 */
	public int deletePet(PetBean pet);
	
	/**
	 * 更新信息
	 * @param pet
	 * @return 是否更新成功
	 */
	public int updatePetInfo(PetBean pet);
	
	/**
	 * 更新pet头像
	 * @param pet
	 * @return
	 */
	public int updatePetImage(PetBean pet);
	
	/**
	 * 执行查询语句
	 * @param sql
	 * @return
	 */
	public List<?> query(String sql);
	
//	public List<?> query(String sql);
	
	/**
	 * 添加宠物
	 * @param pet
	 * @return 是否添加成功
	 */
	public int addPet(PetBean pet);
	
	/**
	 * 执行查询语句
	 * @param 宠物种类，每页显示个数，当前页数
	 * @return
	 */
	public List<?> pageQuery(int petKind,int showNumber,int currentPageNumber);
	
	/**
	 * 可以进行关键字查询
	 * 组成key：value键值对进行查询
	 * @param petKind
	 * @param showNumber
	 * @param currentPageNumber
	 * @param keyWords
	 * @return 列表
	 */
	public List<?> pageSearchQuery(int petKind,int showNumber,int currentPageNumber,Map<String,String> keyWords);
	
	
	/**
	 * 获取单个宠物
	 * @param id
	 * @return 单个宠物
	 */
	public PetBean getPetBean(String id);

	
}
